/*  Classe de menu de lancement de l'exemple de jeu.
 *  Cette classe h�rite de la classe abstraite MenuAbstrait en d�finissant les m�thodes :
 *     - nomOptions qui renvoie la liste des options possibles pour le menu 
 *     - lancerOption qui associe une action � chaque option du menu
 *     - wavAccueil() qui renvoie le nom du fichier wav lu lors de l'accueil dans le menu
 *     - wavAide() qui renvoie le nom du fichier wav lu lors de l'activation de la touche F1
 */

package jeu;

import devintAPI.MenuAbstrait;
import noyau.Test;
import voix.Voix;
import wiimote.WiimoteLink;
import xML.XMLCreation;

import java.io.IOException;
import java.util.ArrayList;

//import org.jdom.JDOMException;

/**
 * Menu de s�lection pr�-jeu
 * 
 * @author jourdes
 */

public class ChoixTest extends MenuAbstrait {
    private ArrayList<Test> te;
    private XMLCreation x;
    private String login;

	/**
	 * constructeur
	 * 
	 * @param title
	 *            : le nom du jeu
	 */
	public ChoixTest(String title, boolean voice,String login) throws Exception {
		super(title, voice);
        this.login=login;
		WiimoteLink.addWiiRemoteListener(this);
		Voix.read(title);
	}
    
	/**
	 * renvoie le nom des options du menu vous pouvez d�finir autant d'options
	 * que vous voulez
	 **/
	protected String[] nomOptions() throws Exception {
        this.x=new XMLCreation();
        x.charger();
        this.te=(ArrayList<Test>)x.getTestchar().clone();
        String tab[]=new String[te.size()];
        for (int i=0;i<te.size();i++){
              tab[i]=te.get(i).getNom();
        }

        return tab;
	}

	/**
	 * lance l'action associ�e au bouton n�i la num�rotation est celle du
	 * tableau renvoy� par nomOption
	 * 
	 * @throws IOException
	 * @throws org.jdom.JDOMException
	 */
	protected void lancerOption(int i) throws Exception {
       // System.out.println(te.get(0).toString());
        WiimoteLink.removeWiiRemoteListener(this);
		/**switch (i) {
		case 0:
			new Fenetre_Wii(te.get(0));
			
			break;
		case 1:
			
			break;
		case 2:
			
			break;
		default:
			System.err.println("action non d�finie");
		} */
        if (i<te.size()){
            System.out.println(te.get(i).toString());
            new Fenetre_Wii(te.get(i),i,login);
        }
        else{
            System.err.println("action non définie");
        }
		dispose();
	}

	@Override
	protected String wavAccueil() {
		// TODO Auto-generated method stub
		return "../ressources/sons/accueil.wav";
	}

	@Override
	protected String wavAide() {
		// TODO Auto-generated method stub
		return "../ressources/sons/aide.wav";
	}
	@Override
	protected String wavObjectif() {
		// TODO Auto-generated method stub
		return "../ressources/sons/objectif.wav";
	}

	@Override
	protected String wavTouche() {
		// TODO Auto-generated method stub
		return "../ressources/sons/touche.wav";
	}

}
